Release 0.11 of cl-btree.
Changes
2011-03-13 sami-makinen
* api-doc/api.html: Updated API doc.
* api.lisp, b-tree.lisp, cursor.lisp, package.lisp,
test/unit/api.lisp, test/unit/b-tree-test.lisp,
test/unit/test-cursor.lisp: Fix to b-tree-cursor-first bug. Did
not descent to child node to find min value.
Added b-tree-cursor-prev and b-tree-cursor-prev-p.
2011-03-12 sami-makinen
* api.lisp, cl-btree-trunk.asd, cursor.lisp, package.lisp,
test/unit/api.lisp, test/unit/test-cursor.lisp: Added cursor API
calls.
* cursor.lisp, test/unit/test-cursor.lisp: Initial cursor
implementation. Contains implementation of first, value, peek,
next-p and next calls.
2011-02-27 sami-makinen
* README, api-doc, api-doc/api.html, api-doc/cludg.css: Added
api-doc.
2011-02-26 sami-makinen
* README: Updated README.
* ChangeLog, README, api.lisp, b-tree.lisp: API cleanup. Removed
start node from search, min and max functions. Start node won't
work as expected.
Added more doc strings.
value-or-nil fix, will return values nil, nil.
README update.
2011-02-04 sami-makinen
* api.lisp, b-tree.lisp, cl-btree-trunk.asd, insert.lisp,
test/performance.lisp, test/unit/api.lisp,
test/unit/b-tree-test.lisp, test/unit/test-insert.lisp,
test/unit/test-search.lisp, test/util.lisp, test/validator.lisp:
Added :unique -option to make B-tree unique which is also
default.
Non-unique B-tree stores values as a list so that one key may
have several values.
Unqiue B-tree replaces old value with new, if old exists.
2011-02-03 sami-makinen
* ChangeLog, test/unit/test-map.lisp, test/unit/test-search.lisp:
Added new unit test files.
* api.lisp, cl-btree-trunk.asd, delete.lisp, insert.lisp, map.lisp,
package.lisp, search.lisp, test/unit/b-tree-test.lisp,
test/validator.lisp: Added :from and :to parameters to
b-tree:map. :from sets lower bound for key (inclusive) and :to
sets upper bound for key (exlusive).
Added b-tree:search>= function for searching key equal or higher
than given key.
Replaced search-from-contents with find-item defun.
2011-01-31 sami-makinen
* ChangeLog: ChangeLog update.
* ChangeLog, api.lisp, b-tree.lisp, debug.lisp, test/unit/api.lisp,
test/unit/b-tree-test.lisp, test/validator.lisp: Changed key and
value reader/writer with item reader/writer.
Added whitespace between string key and value. Fixed possible
symbol key/value problems.
Added symbol tree validator.
B-tree file version increment (version 2). Header contains now
B-tree type.
Item reader/writer is set when header is read, so opening
existing B-tree does not require type parameter.
Removed now obsolete string-b-tree-open/close functions.
2011-01-28 sami-makinen
* b-tree.lisp, cl-btree-trunk.asd, delete.lisp,
test/unit/test-delete.lisp, validate.lisp: Fixed tests.
Fixed asdf dependencies.
* test/performance.lisp, test/validator.lisp: Added validator for
running checks over B-tree.
* test/performance.lisp: Cleaned up performance tester.
* api.lisp, delete.lisp, package.lisp: Root was handled improperly
not as an internal node which caused B-tree to become invalid.
Cases 2a/b were not correctly implemented. The min/max found from
subtrees were just deleted
from the nodes they were found instead of recursively deleting
the keys. This caused
B-tree structure become invalid.
Added more asserts to help find bugs.
* b-tree.lisp, delete.lisp, search.lisp, test/performance.lisp,
validate.lisp: Added B-tree validator.
2011-01-26 sami-makinen
* backtracking-list-iterator.lisp, cl-btree-trunk.asd,
test/unit/backtracking-list-iterator.lisp: Removed obsole
backtracking-list-iterator.
* b-tree.lisp, debug.lisp, delete.lisp: Bug hunting continued.
Deletion still fails on some cases.
2011-01-24 sami-makinen
* b-tree.lisp, cl-btree-trunk.asd, debug.lisp, delete.lisp,
insert.lisp, test/performance.lisp, test/unit/test-delete.lisp,
test/unit/test-insert.lisp: Rewrote some functions to not use
backtracking-list-iterator.
Fixed partially delete problem. B-tree with uint32 keys and
values seems to work for now but strings still broken.
Rewrote some functions to look cleaner.
2011-01-23 sami-makinen
* test/performance.lisp: Added a simple performance tester.
* b-tree.lisp, cl-btree-trunk.asd, debug.lisp, delete.lisp,
insert.lisp, map.lisp, max.lisp, min.lisp, print.lisp,
search.lisp, test/unit/b-tree-test.lisp,
test/unit/test-delete.lisp, test/unit/test-insert.lisp: Splitted
operations to separate files for readability.
Delete is still broken.
Fixed debug formatter for uint32 keys/values.
* b-tree.lisp, loader.lisp, package.lisp, test/unit/api.lisp,
test/unit/b-tree-test.lisp,
test/unit/backtracking-list-iterator.lisp: Tried to fix delete
operation without luck. Something messes up the B-Tree structure
totally.
Deletion was not completed,
- key and child counts were not corrected after node
modifications,
- empty root was not deleted after child merge.
Updated tests to be in one package.
2011-01-06 sami-makinen
* ChangeLog: Added ChangeLog.
* README: Updated README.
* cl-btree-trunk.asd, package.lisp, test/unit/api.lisp,
test/unit/b-tree-test.lisp,
test/unit/backtracking-list-iterator.lisp, vendor,
vendor/lisp-unit.lisp, vendor/mock.lisp: Refactored cl-btree to
use lisp-unit by Christopher K. Riesbeck.
Note: vendor dir contains slightly modified lisp-unit (with
assert-typep).
Also, mock functions from cl-unit-test is used still.
Unit tests were refactored with following modifications:
- def-test (name) -> define-test name
- assert-typep obj type -> assert-typep type obj
- assert-condition error -> assert-error 'error
- unit tests are in their own package
- all symbols need to have package specification
2011-01-02 sami-makinen
* README: Updated README.
* b-tree.asd, cl-btree-trunk.asd: Renamed asd file to follow
project name and svn version.
* b-tree.asd, package.lisp: Updated system name and version
according to project name and version.
Removed org.alien-consader from package.
2010-12-05 sami-makinen
* loader.lisp: Added loader file.
2010-12-02 sami-makinen
* LICENSE, README: Added LICENSE and README files.
2010-11-30 sami-makinen
* api.lisp, b-tree.asd, b-tree.lisp,
backtracking-list-iterator.lisp, debug.lisp, package.lisp, test,
test/unit, test/unit/api.lisp, test/unit/b-tree-test.lisp,
test/unit/backtracking-list-iterator.lisp: Initial import.
* .: New directory.